
package com.jf.cloud.api.product.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author zz
 * @date 2021/5/21 16:05
 */
public class ProdEffectDTO {
    /**
     * 时间类型 1.日 2.周 3.月 4.今日实时 5.近七天 6.近30天 7.自定义
     * FlowTimeTypeEnum
     */
    @Schema(description = "时间类型 1.日 3.月 4.今日实时 5.近七天 6.近30天" )
    private Integer dateType;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 结束时间
     */
    @Schema(description = "结束时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * limit使用起始页
     */
    @Schema(description = "前端不传字段" )
    private Integer begin;

    /**
     * limit使用大小
     */
    @Schema(description = "前端不传字段" )
    private Integer size;

    /**
     * 当前语言
     */
    @Schema(description = "当前语言，前端不传" )
    private Integer lang;

    /**
     * 店铺id
     */
    @Schema(description = "店铺id，前端不传字段" )
    private Long shopId;

    @Schema(description = "排序字段(0:曝光次数, 1:曝光人数, 2:加购人数, 3:加购件数, 4:下单人数, 5:支付人数, " +
            "6:下单件数, 7:支付件数, 8:下单金额, 9:支付金额, 10:申请退款订单数, " +
            "11:申请退款人数, 12:成功退款订单数, 13:成功退款人数, 14:成功退款金额, 15:退款率)")
    private Integer sortParam;

    @Schema(description = "排序顺序(0:降序, 1:升序)")
    private Integer sortType;

    public Integer getDateType() {
        return dateType;
    }

    public void setDateType(Integer dateType) {
        this.dateType = dateType;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getBegin() {
        return begin;
    }

    public void setBegin(Integer begin) {
        this.begin = begin;
    }

    public Integer getSize() {
        return size;
    }

    public void setSize(Integer size) {
        this.size = size;
    }

    public Integer getLang() {
        return lang;
    }

    public void setLang(Integer lang) {
        this.lang = lang;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Integer getSortParam() {
        return sortParam;
    }

    public void setSortParam(Integer sortParam) {
        this.sortParam = sortParam;
    }

    public Integer getSortType() {
        return sortType;
    }

    public void setSortType(Integer sortType) {
        this.sortType = sortType;
    }

    @Override
    public String toString() {
        return "ProdEffectDTO{" +
                "dateType=" + dateType +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", begin=" + begin +
                ", size=" + size +
                ", lang=" + lang +
                ", shopId=" + shopId +
                ", sortParam=" + sortParam +
                ", sortType=" + sortType +
                '}';
    }
}
